Replace identifiers called `__out` because Windows.h #defines it. Windows is greedy and it defines the identifier `__out` as a macro. This patch renames all conflicting libc++ identifiers in order to correctly work on Windows. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@291345 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/experimental/algorithm b/include/experimental/algorithm index 392ca1f..b32d7ca 100644 --- a/include/experimental/algorithm +++ b/include/experimental/algorithm 
@@ -60,9 +60,9 @@  class _UniformRandomNumberGenerator>  inline _LIBCPP_INLINE_VISIBILITY  _SampleIterator sample(_PopulationIterator __first, _PopulationIterator __last, - _SampleIterator __out, _Distance __n, + _SampleIterator __output, _Distance __n,  _UniformRandomNumberGenerator &&__g) { - return _VSTD::__sample(__first, __last, __out, __n, __g); + return _VSTD::__sample(__first, __last, __output, __n, __g);  }    _LIBCPP_END_NAMESPACE_LFTS 
diff --git a/include/experimental/iterator b/include/experimental/iterator index da593fe..37186b3 100644 --- a/include/experimental/iterator +++ b/include/experimental/iterator 
@@ -75,19 +75,19 @@  typedef void reference;    ostream_joiner(ostream_type& __os, _Delim&& __d) - : __out(_VSTD::addressof(__os)), __delim(_VSTD::move(__d)), __first(true) {} + : __output(_VSTD::addressof(__os)), __delim(_VSTD::move(__d)), __first(true) {}    ostream_joiner(ostream_type& __os, const _Delim& __d) - : __out(_VSTD::addressof(__os)), __delim(__d), __first(true) {} + : __output(_VSTD::addressof(__os)), __delim(__d), __first(true) {}      template<typename _Tp>  ostream_joiner& operator=(const _Tp& __v)  {  if (!__first) - *__out << __delim; + *__output << __delim;  __first = false; - *__out << __v; + *__output << __v;  return *this;  }   @@ -96,7 +96,7 @@  ostream_joiner& operator++(int) _NOEXCEPT { return *this; }    private: - ostream_type* __out; + ostream_type* __output;  _Delim __delim;  bool __first;  };